vektor = 
      Array[x, 7]

(* preco nieco co sa da urobit lahko,  neurobit tazko,  
      ze ??  *) 
 (* 
      takze nejdeme pisat nuly a jednotky,  
      ale nexame si ich vygenerovat tabulkou *) 
a1 = Table[
        If[(j - i == 1)  ||  (j - i == 2), 0, 1], {i, 
          1, 5}, {j, 1, 7}]

(* 
      ale sobotu a nedelu si aj tak napiseme rucne *) 
a2 = {{0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 
          1}}

(matica = 
          Join[a1, a2]) // MatrixForm

ps = {16, 13, 15, 19, 14, 16, 
        11}

uf = 
      x[1] + x[2] + x[3] + x[4] + x[5] + x[6] + x[7]

(* skusme,  
      co nam to vyhodi pre cloveka zacinajuceho v pondelok *) 
matica[[1]] . vektor ≥ 
      ps[[1]]

(* mno,  bude to hladat cislo x tak,  
        aby sme ich v pondelok mali minimalne 16  -  zda sa,  
        ze to funguje :) *) 
 (* takze to spravime pre vsetky dni *) 
ohran = 
      Table[matica[[i]] . vektor ≥ ps[[i]], {i, 1, 
          7}]

ConstrainedMin[uf, ohran, 
      vektor]